/**
 *  字符串变形
 *
 首先这个字符串中包含着一些空格，就像"Hello World"一样
 然后我们要做的是把这个字符串中由空格隔开的单词反序，同时反转每个字符的大小写。
 比如"Hello World"变形后就变成了"wORLD hELLO"。
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     * @param s string字符串
     * @param n int整型
     * @return string字符串
     */
    public String trans (String s, int n) {
        //1.遍历整个字符串，遇到小写字母，转换为大写，遇到大写字母，转换为小写,遇到空格不变
        if(n == 0){
            return s;
        }
        StringBuffer res = new StringBuffer();
        for(int i = 0; i <s.length(); i++){
            if(s.charAt(i)<='Z' && s.charAt(i) >= 'A'){
                res.append((char)(s.charAt(i) - 'A' + 'a'));
            }else if(s.charAt(i) >= 'a' && s.charAt(i) <='z'){
                res.append((char) (s.charAt(i) - 'a' + 'A'));
            }else{
                res.append(s.charAt(i));
            }
        }
        //翻转整个字符串
        res = res.reverse();
        for(int i = 0; i < n; i++){
            int j = i;
            while(j < n && res.charAt(j) != ' '){
                j++;
            }
            String temp = res.substring(i,j);
            StringBuffer buffer = new StringBuffer(temp);
            temp = buffer.reverse().toString();
            res.replace(i,j,temp);
            i = j;
        }
        return res.toString();
    }

}